#region

using Microsoft.AspNetCore.Http;
using Vin.Extension.Framework.Login.Entities;

#endregion

namespace Vin.Extension.Framework.Login.ServiceInterface;

public interface ISysLoginService
{
    // /// <summary>
    // /// 登录
    // /// </summary>
    // public Task<string> LoginAsync(LoginBodyDto loginBody);
    //
    // /// <summary>
    // /// 获取验证码
    // /// </summary>
    // /// <returns></returns>
    // public GenerateCodeModel Captcha(string? uuid);

    /// <summary>
    /// 登出
    /// </summary>
    public Task LogoutAsync();

    /// <summary>
    /// 添加登录日志
    /// </summary>
    public Task AddLoginLogAsync(long? accountId, string? account, bool isSuccess, string? msg, string? loginType,
        object? loginInfo);

    /// <summary>
    /// 添加登录成功日志
    /// </summary>
    public Task UpdateLoginSuccessLogAsync(long? employeeId = null, string? employeeName = null);

    public Task<string> CreateTokenAsync(SysAccount account, string? loginType,
        object? loginInfo);
}